# def fun(n):
#     print(n)
#     # 设置一个出口:如果n == 100:停止
#     if n == 100:
#         return
#     fun(n+1)
#
# fun(1)

"""
递归的特点:
1. 自己调用自己
2. 有出口
"""


# def sum_number(num):
#     # 有出口:
#     if num == 1:
#         return 1
#     # 自己调用自己
#     return num + sum_number(num - 1)
#
# res = sum_number(3)
#
# print(res)


# 斐波那契
def feb(n):
    """计算第n位的斐波那契值是多少"""
    # 有出口
    if n == 1:
        return 1
    if n == 2:
        return 1
    # 自己调用自己
    return feb(n - 1) + feb(n - 2)


res = feb(500)
print(res)
